#pragma once 
#include <opencv2/opencv.hpp>

#define CV_VERSION_ID CVAUX_STR(CV_MAJOR_VERSION)   CVAUX_STR(CV_MINOR_VERSION)  CVAUX_STR(CV_SUBMINOR_VERSION)

#define CALC_CV_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))

#ifdef _DEBUG
#define cvLIB(name) "opencv_" name CV_VERSION_ID "d"
#else
#define cvLIB(name) "opencv_" name CV_VERSION_ID
#endif

//#pragma comment(lib,cvLIB("world"))

//opencv3.4.1
#pragma comment(lib,cvLIB("aruco"))
#pragma comment(lib,cvLIB("bgsegm"))
#pragma comment(lib,cvLIB("bioinspired"))
#pragma comment(lib,cvLIB("calib3d"))
#pragma comment(lib,cvLIB("ccalib"))
#pragma comment(lib,cvLIB("core"))
#pragma comment(lib,cvLIB("datasets"))
//#pragma comment(lib,cvLIB("dnn"))
//#pragma comment(lib,cvLIB("dnn_objdetect"))
#pragma comment(lib,cvLIB("dpm"))
#pragma comment(lib,cvLIB("face"))
#pragma comment(lib,cvLIB("features2d"))
#pragma comment(lib,cvLIB("flann"))
#pragma comment(lib,cvLIB("fuzzy"))
//#pragma comment(lib,cvLIB("hdf"))
#pragma comment(lib,cvLIB("hfs"))
#pragma comment(lib,cvLIB("highgui"))
#pragma comment(lib,cvLIB("imgcodecs"))
#pragma comment(lib,cvLIB("imgproc"))
#pragma comment(lib,cvLIB("img_hash"))
#pragma comment(lib,cvLIB("line_descriptor"))
#pragma comment(lib,cvLIB("ml"))
#pragma comment(lib,cvLIB("objdetect"))
#pragma comment(lib,cvLIB("optflow"))
#pragma comment(lib,cvLIB("phase_unwrapping"))
#pragma comment(lib,cvLIB("photo"))
#pragma comment(lib,cvLIB("plot"))
#pragma comment(lib,cvLIB("reg"))
#pragma comment(lib,cvLIB("rgbd"))
#pragma comment(lib,cvLIB("saliency"))
#pragma comment(lib,cvLIB("shape"))
#pragma comment(lib,cvLIB("stereo"))
#pragma comment(lib,cvLIB("stitching"))
#pragma comment(lib,cvLIB("structured_light"))
#pragma comment(lib,cvLIB("superres"))
#pragma comment(lib,cvLIB("surface_matching"))
//#pragma comment(lib,cvLIB("text"))
#pragma comment(lib,cvLIB("tracking"))
#pragma comment(lib,cvLIB("video"))
#pragma comment(lib,cvLIB("videoio"))
#pragma comment(lib,cvLIB("videostab"))
#pragma comment(lib,cvLIB("xfeatures2d"))
#pragma comment(lib,cvLIB("ximgproc"))
#pragma comment(lib,cvLIB("xobjdetect"))
#pragma comment(lib,cvLIB("xphoto"))

//opencv3.1.0
//#pragma comment(lib,cvLIB("aruco"))
//#pragma comment(lib,cvLIB("bgsegm"))
//#pragma comment(lib,cvLIB("bioinspired"))
//#pragma comment(lib,cvLIB("calib3d"))
//#pragma comment(lib,cvLIB("ccalib"))
//#pragma comment(lib,cvLIB("core"))
//#pragma comment(lib,cvLIB("datasets"))
//#pragma comment(lib,cvLIB("dnn"))
//#pragma comment(lib,cvLIB("dpm"))
//#pragma comment(lib,cvLIB("face"))
//#pragma comment(lib,cvLIB("features2d"))
//#pragma comment(lib,cvLIB("flann"))
//#pragma comment(lib,cvLIB("fuzzy"))
//#pragma comment(lib,cvLIB("highgui"))
//#pragma comment(lib,cvLIB("imgcodecs"))
//#pragma comment(lib,cvLIB("imgproc"))
//#pragma comment(lib,cvLIB("line_descriptor"))
//#pragma comment(lib,cvLIB("ml"))
//#pragma comment(lib,cvLIB("objdetect"))
//#pragma comment(lib,cvLIB("optflow"))
//#pragma comment(lib,cvLIB("photo"))
//#pragma comment(lib,cvLIB("plot"))
//#pragma comment(lib,cvLIB("reg"))
//#pragma comment(lib,cvLIB("rgbd"))
//#pragma comment(lib,cvLIB("saliency"))
//#pragma comment(lib,cvLIB("shape"))
//#pragma comment(lib,cvLIB("stereo"))
//#pragma comment(lib,cvLIB("stitching"))
//#pragma comment(lib,cvLIB("structured_light"))
//#pragma comment(lib,cvLIB("superres"))
//#pragma comment(lib,cvLIB("surface_matching"))
//#pragma comment(lib,cvLIB("text"))
//#pragma comment(lib,cvLIB("tracking"))
//#pragma comment(lib,cvLIB("ts"))
//#pragma comment(lib,cvLIB("video"))
//#pragma comment(lib,cvLIB("videoio"))
//#pragma comment(lib,cvLIB("videostab"))
//#pragma comment(lib,cvLIB("xfeatures2d"))
//#pragma comment(lib,cvLIB("ximgproc"))
//#pragma comment(lib,cvLIB("xobjdetect"))
//#pragma comment(lib,cvLIB("xphoto"))

//opencv2.4.9
//#pragma comment(lib,cvLIB("aruco"))
//#pragma comment(lib,cvLIB("bgsegm"))
//#pragma comment(lib,cvLIB("bioinspired"))
//#pragma comment(lib,cvLIB("calib3d"))
//#pragma comment(lib,cvLIB("ccalib"))
//#pragma comment(lib,cvLIB("core"))
//#pragma comment(lib,cvLIB("datasets"))
//#pragma comment(lib,cvLIB("dnn"))
//#pragma comment(lib,cvLIB("dpm"))
//#pragma comment(lib,cvLIB("face"))
//#pragma comment(lib,cvLIB("features2d"))
//#pragma comment(lib,cvLIB("flann"))
//#pragma comment(lib,cvLIB("fuzzy"))
//#pragma comment(lib,cvLIB("highgui"))
//#pragma comment(lib,cvLIB("imgcodecs"))
//#pragma comment(lib,cvLIB("imgproc"))
//#pragma comment(lib,cvLIB("line_descriptor"))
//#pragma comment(lib,cvLIB("ml"))
//#pragma comment(lib,cvLIB("objdetect"))
//#pragma comment(lib,cvLIB("optflow"))
//#pragma comment(lib,cvLIB("photo"))
//#pragma comment(lib,cvLIB("plot"))
//#pragma comment(lib,cvLIB("reg"))
//#pragma comment(lib,cvLIB("rgbd"))
//#pragma comment(lib,cvLIB("saliency"))
//#pragma comment(lib,cvLIB("shape"))
//#pragma comment(lib,cvLIB("stereo"))
//#pragma comment(lib,cvLIB("stitching"))
//#pragma comment(lib,cvLIB("structured_light"))
//#pragma comment(lib,cvLIB("superres"))
//#pragma comment(lib,cvLIB("surface_matching"))
//#pragma comment(lib,cvLIB("text"))
//#pragma comment(lib,cvLIB("tracking"))
//#pragma comment(lib,cvLIB("ts"))
//#pragma comment(lib,cvLIB("video"))
//#pragma comment(lib,cvLIB("videoio"))
//#pragma comment(lib,cvLIB("videostab"))
//#pragma comment(lib,cvLIB("xfeatures2d"))
//#pragma comment(lib,cvLIB("ximgproc"))
//#pragma comment(lib,cvLIB("xobjdetect"))
//#pragma comment(lib,cvLIB("xphoto"))


